Executive summary

Analiza została przeprowadzona w celu zbadania przyczyn stopniowego karłowacenia śledzi oceanicznych wyławianych w Europie. Zbiór danych, który został użyty do poniższej analizy obejmuje pomiary śledzi oraz warunków w jakich żyją na przestrzeni ostatnich 60 lat. Dane zostały poddane analizie korelacji w celu sprawdzenia zależności pomiędzy poszczególnymi cechami. Analiza wykazała wpływ temperatury jako główną przycznę.

Użyte biblioteki

library(DT)
library(dplyr)
library(ggplot2)
library(knitr)
library(plotly)
library(ggcorrplot)
library(caret)

Ładowanie i czyszczenie danych

Wstęp

Kolumny w zbiorze danych to:

  • length: długość złowionego śledzia [cm];
  • cfin1: dostępność planktonu [zagęszczenie Calanus finmarchicus gat. 1];
  • cfin2: dostępność planktonu [zagęszczenie Calanus finmarchicus gat. 2];
  • chel1: dostępność planktonu [zagęszczenie Calanus helgolandicus gat. 1];
  • chel2: dostępność planktonu [zagęszczenie Calanus helgolandicus gat. 2];
  • lcop1: dostępność planktonu [zagęszczenie widłonogów gat. 1];
  • lcop2: dostępność planktonu [zagęszczenie widłonogów gat. 2];
  • fbar: natężenie połowów w regionie [ułamek pozostawionego narybku];
  • recr: roczny narybek [liczba śledzi];
  • cumf: łączne roczne natężenie połowów w regionie [ułamek pozostawionego narybku];
  • totaln: łączna liczba ryb złowionych w ramach połowu [liczba śledzi];
  • sst: temperatura przy powierzchni wody [°C];
  • sal: poziom zasolenia wody [Knudsen ppt];
  • xmonth: miesiąc połowu [numer miesiąca];
  • nao: oscylacja północnoatlantycka [mb].

Ładowanie danych

df.raw <- read.csv("./dane/sledzie.csv", na.strings = "?")

Obsługa wartości pustych

W zbiorze danych są znaczne braki w wartościach dla kolumn: cfin1, cfin2, chel1, chel2, lcop1, lcop2, sst. Wartości puste dla poszczególnych kolumn zostały zastąpione średnią wartością dla grupy stworzonej po kolumnach: xmonth i totaln. W większości przypadków kolumny, w których występowały wartości puste miały taką samą wartość dla podanej grupy.

df <- df.raw %>%
  group_by(xmonth, totaln) %>%
  mutate(
    cfin1 = ifelse(is.na(cfin1), mean(cfin1, na.rm = TRUE), cfin1),
    cfin2 = ifelse(is.na(cfin2), mean(cfin2, na.rm = TRUE), cfin2),
    chel1 = ifelse(is.na(chel1), mean(chel1, na.rm = TRUE), chel1),
    chel2 = ifelse(is.na(chel2), mean(chel2, na.rm = TRUE), chel2),
    lcop1 = ifelse(is.na(lcop1), mean(lcop1, na.rm = TRUE), lcop1),
    lcop2 = ifelse(is.na(lcop2), mean(lcop2, na.rm = TRUE), lcop2),
    sst = ifelse(is.na(sst), mean(sst, na.rm = TRUE), sst)
  ) %>%
  ungroup %>%
  as.data.frame()

df.row <- nrow(df)
df.col <- ncol(df)

Podsumowanie danych

Dane zawierają 52582 wierszy oraz 16 kolumn. Poniżej przedstawione zostało posumowanie poszczególnych kolumn.

X length cfin1 cfin2 chel1 chel2 lcop1
Min. : 0 Min. :19.0 Min. : 0.0000 Min. : 0.0000 Min. : 0.000 Min. : 5.238 Min. : 0.3074
1st Qu.:13145 1st Qu.:24.0 1st Qu.: 0.0000 1st Qu.: 0.2778 1st Qu.: 2.469 1st Qu.:13.427 1st Qu.: 2.5479
Median :26291 Median :25.5 Median : 0.1111 Median : 0.7012 Median : 5.750 Median :21.435 Median : 7.0717
Mean :26291 Mean :25.3 Mean : 0.4457 Mean : 2.0258 Mean :10.003 Mean :21.219 Mean : 12.8048
3rd Qu.:39436 3rd Qu.:26.5 3rd Qu.: 0.3333 3rd Qu.: 1.7936 3rd Qu.:11.500 3rd Qu.:27.193 3rd Qu.: 21.2315
Max. :52581 Max. :32.5 Max. :37.6667 Max. :19.3958 Max. :75.000 Max. :57.706 Max. :115.5833
lcop2 fbar recr cumf totaln sst sal
Min. : 7.849 Min. :0.0680 Min. : 140515 Min. :0.06833 Min. : 144137 Min. :12.77 Min. :35.40
1st Qu.:17.808 1st Qu.:0.2270 1st Qu.: 360061 1st Qu.:0.14809 1st Qu.: 306068 1st Qu.:13.60 1st Qu.:35.51
Median :24.859 Median :0.3320 Median : 421391 Median :0.23191 Median : 539558 Median :13.86 Median :35.51
Mean :28.422 Mean :0.3304 Mean : 520367 Mean :0.22981 Mean : 514973 Mean :13.87 Mean :35.51
3rd Qu.:37.232 3rd Qu.:0.4560 3rd Qu.: 724151 3rd Qu.:0.29803 3rd Qu.: 730351 3rd Qu.:14.16 3rd Qu.:35.52
Max. :68.736 Max. :0.8490 Max. :1565890 Max. :0.39801 Max. :1015595 Max. :14.73 Max. :35.61
xmonth nao
Min. : 1.000 Min. :-4.89000
1st Qu.: 5.000 1st Qu.:-1.89000
Median : 8.000 Median : 0.20000
Mean : 7.258 Mean :-0.09236
3rd Qu.: 9.000 3rd Qu.: 1.63000
Max. :12.000 Max. : 5.08000

Analiza danych

Rozkład wartości kolumn

Długość złowionego śledzia [cm]

Dostępność planktonu [zagęszczenie Calanus finmarchicus gat. 1]

Dostępność planktonu [zagęszczenie Calanus finmarchicus gat. 2]

Dostępność planktonu [zagęszczenie Calanus helgolandicus gat. 1]

Dostępność planktonu [zagęszczenie Calanus helgolandicus gat. 2]

Dostępność planktonu [zagęszczenie widłonogów gat. 1]

Dostępność planktonu [zagęszczenie widłonogów gat. 2]

Natężenie połowów w regionie [ułamek pozostawionego narybku]

Roczny narybek [liczba śledzi]

Łączne roczne natężenie połowów w regionie [ułamek pozostawionego narybku]

Łączna liczba ryb złowionych w ramach połowu [liczba śledzi]

Temperatura przy powierzchni wody [°C]

Poziom zasolenia wody [Knudsen ppt]

Miesiąc połowu [numer miesiąca]

Oscylacja północnoatlantycka [mb]

Długość śledzia w czasie

Korelacja zmiennych

W przypapadku zmiennej length zauważamy silną ujemną korelację z zmienną temperatury sst; w mniejszym stopniu z oscylacją północnoatlantycką nao. Słaba dodatnia korelacja występuje z natężeniem połowów w regionie fbar, zagęszczeniem planktonu Calanus helgolandicus gat. 1 chel1 i zagęszczeniem planktonu widłonogów gat. 1 lcop1

Regresja

## Random Forest 
## 
## 39438 samples
##    15 predictor
## 
## No pre-processing
## Resampling: Cross-Validated (2 fold, repeated 5 times) 
## Summary of sample sizes: 19720, 19718, 19719, 19719, 19719, 19719, ... 
## Resampling results across tuning parameters:
## 
##   mtry  RMSE      Rsquared   MAE      
##    2    1.144921  0.5209932  0.9061472
##    8    1.098450  0.5592850  0.8646535
##   15    1.185689  0.5079020  0.9320896
## 
## RMSE was used to select the optimal model using the smallest value.
## The final value used for the model was mtry = 8.

Wyniki modelu

Poniżej znajduje się wykres atrybutów, które w największym stopniu wpływają na karłowacenie się śledzi.

Na jego podstawie można wywnioskować, że największą przyczyną karłowacenia się śledzi jest wzrost temperatury sst. Kolejne, lecz mniej istotne przyczny to natężenie połowów w regionie fbar oraz dostępność planktonu widłonogów lcop1 i lcop2.